﻿using Abp.Application.Services;
using Abp.Application.Services.Dto;
using System.Threading.Tasks;
using Partner.Surround.MultiTenancy.Dto;

namespace Partner.Surround.MultiTenancy
{
    /// <summary>
    /// 租户应用服务
    /// </summary>
    public interface ITenantAppService : IApplicationService
    {
        /// <summary>
        /// 获取单个租户
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<TenantListDto> GetTenant(EntityDto<int> input);

        /// <summary>
        /// 获取全部租户列表
        /// </summary>
        /// <returns></returns>
        Task<ListResultDto<TenantListDto>> GetTenantsList();

        /// <summary>
        /// 移动当前租户版本到其它版本
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task MoveTenantToAnotherEdition(MoveTenantToAnotherEditionInput input);
    }
}

